// 放置全局指令
import Vue from 'vue'

import store from '@/store'

//Vue.directive('指令的名字',{配置选项})

Vue.directive('access',{
    // 组件初始化过程中，会执行一次
    // 在ibind 函数里面，拿不到父元素的dom
    bind(el,binding) {

    },
    // 指令等于号后面绑定的数据发生变化时，会执行
    update(el,binding) {

    },
    // 组件初始化过程中，并且绑定了该指令的dom元素被挂载带父元素身上时，会执行一次
    // 在inserted 函数里面，能够拿到父元素的dom
    inserted(el,binding) {
        // el ：绑定了自定义指令的元素dom
        // binding: 是一个对象，里面有一些自定义指令的相关的信息，binging.value 自定义指令等于号后面的表达式的值
        // console.log(el);
        // console.log(binding);

        // 获取用户的按钮权限数据
        const points = store.state.user.userInfo.roles.points
        // binging.value : 按钮权限码值

        if(!points.includes(binding.value)) {
            // 隐藏按钮的逻辑
            // el.style.display = 'none'
            el.parentNode.removeChild(el)
        }
    }
})
